package com.zxgj.datadirect.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zxgj.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 外来资源申请实体（自治区外部门申请本地数据，对应《实施清单》“我的待办管理”功能）
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("datadirect_outer_apply")
public class DataDirectOuterApply extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 申请单号（国家平台申请单号，与本地申请关联） */
    private String applyNo;

    /** 申请机构编码（自治区外机构编码） */
    private String applyOrgCode;

    /** 申请机构名称（冗余字段，关联datadirect_org.org_name） */
    private String applyOrgName;

    /** 目标机构编码（本地审核机构编码，西藏自治区内机构） */
    private String targetOrgCode;

    /** 申请资源编码（目录/资源编码，关联datadirect_catalog.catalog_code） */
    private String resourceCode;

    /** 申请资源名称（冗余字段，关联datadirect_catalog.catalog_name） */
    private String resourceName;

    /** 申请资源类型（1-文件、2-接口、3-库表） */
    private Integer resourceType;

    /** 申请理由 */
    private String applyReason;

    /** 申请时间（提交时间，关联create_time） */
    private String submitTime;

    /** 阅读状态（0-未读、1-已读，用于待办红点） */
    private Integer readStatus = 0;

    /** 审批状态（0-待审批、1-已通过、2-已驳回） */
    private Integer approveStatus = 0;

    /** 审批时间 */
    private Date approveTime;

    /** 审批意见 */
    private String approveOpinion;

    /** 审批人 */
    private String approveUser;

    /** 数据访问地址 */
    private String dataAccessUrl;

    /** 数据访问凭证 */
    private String dataAccessToken;

    /** 有效期 */
    private Date expireTime;

    /** 最后操作人ID*/
    private Long lastModifierId;

    /** 最后修改时间 */
    private Date lastModifyTime;
}